Image editing programs, such as ADOBE PHOTOSHOP and the like, enable human users to edit digital images. These programs enable uses to perform complex actions on any image, such as being able to crop out an object from the image, replace one area of an image with another, change lighting and shading, add in an object that did not exist before, change colors, clone areas of the image, etc. Each of these editing actions is an example of an image-editing request. An image-editing request is accomplished with one or more commands provided by the image-editing program. Conventionally, the user manually selects a command and the area(s) of the image to which the command applies using an input device, such as a mouse, a touch pad, a keyboard (virtual or physical), or a similar input device. This requires use of the input device, some level of familiarity with the commands available in the image-editing program and what they do, as well as knowledge of where to find the controls that initiate the commands in the image-editing program's user interface.
Machine learning models can be used to automate some tasks. Examples of machine learning methods include Neural Networks, Support Vector Machines (SVM), Logistic Regression, Conditional Random Field, etc. Machine learning models perform a function on provided input to produce some output value. Machine learning models require a training period to learn the parameters used to map an input to a desired output. Training can be either supervised or unsupervised. In supervised training, training examples, labeled with the desired output, are provided to the model and the model learns the values for the parameters that most often result in the desired output when given the inputs. In unsupervised training, the model learns to identify a structure or pattern in the provided input. In other words, the model identifies implicit relationships in the data. Once the training period completes, the model can be used to perform the task for which it was trained. For either supervised or unsupervised training, it is desirable to have a large number of training examples so that the model is robust and avoids bias. Obtaining sufficient training data is often a challenge.